package com.atguigu.paymentdemo.service;

import com.atguigu.paymentdemo.OrderInfoVo;
import com.atguigu.paymentdemo.entity.OrderInfo;
import com.atguigu.paymentdemo.enums.OrderStatus;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface OrderInfoService extends IService<OrderInfo> {

    OrderInfo createOrderByProductId(Long productId, String type);

    // 存储支付扫描二维码
    void saveCodeUrl(String orderNo, String codeUrl);

    // 订单列表
    List<OrderInfo> listOrderByCreateTimeDesc();

    // 更新订单状态
    void updateStatusByOrderNo(String orderNo, OrderStatus orderStatus);

    // 处理重复的通知
    String getOrderStatus(String orderNo);

    // 查询创建超过5分钟，并且没有支付的订单
    List<OrderInfo> getNoPayOrderByDuration(int minutes);

    // 根据订单号获取订单信息
    OrderInfo getOrderByOrderNo(String orderNo);
}
